<?php

namespace Umaos\Work;
class Controller
{
    /**
     * 操作成功返回
     * @param string $msg 提示信息
     * @param array $data 数据
     * @param mixed $tpl 模板名称
     * @return \support\Response
     */
    public function success($msg = '成功', $data = [], $tpl = null)
    {
        return $this->show(0, $msg, $data, $tpl);
    }
    /**
     * 操作失败返回
     * @param string $msg 提示信息
     * @param array $data 数据
     * @param mixed $tpl 模板名称
     * @return \support\Response
     */
    public function error($msg = '失败', $data = [])
    {
        return $this->show(1, $msg, $data, 'error');
    }

    /**
     * 操作警告返回
     * @param string $msg 提示信息
     * @param array $data 数据
     * @param mixed $tpl 模板名称
     * @return \support\Response
     */
    public function warn($msg = '警告', $data = [])
    {
        return $this->show(2, $msg, $data, 'warn');
    }

    /**
     * 操作返回
     * @param int $code 状态码
     * @param string $msg 提示信息
     * @param array $data 数据
     * @param mixed $tpl 模板名称
     * @return \support\Response
     */
    public function show($code = 0, $msg = '成功', $data = [], $tpl = null)
    {
        $result = ['code' => $code, 'msg' => $msg, 'data' => $data];
        $request = request();
        if ($request->isAjax() || $request->get('_ajax', 0)) {
            return json($result);
        }
        return view($tpl, $result);
    }
}
